package br.ufrj.ia.main;

import java.util.ArrayList;
import java.util.List;

import br.ufrj.ia.controle.Controlador;
import br.ufrj.ia.modelo.AgenteAleatorio;
import br.ufrj.ia.modelo.AgenteHiLo;
import br.ufrj.ia.modelo.AgenteMartingale;
import br.ufrj.ia.modelo.Dealer;
import br.ufrj.ia.modelo.Jogador;
import br.ufrj.ia.modelo.JogadorHumano;

public class Main {
	private static final Integer SALDO_INICIAL = 1000;
	private static final Integer QUANTIDADE_BARALHOS = 1;
	private static final Integer QUANTIDADE_OPCOES = 4;
	
	public static void main(String[] args) { 
		Dealer dealer = new Dealer("Dealer", QUANTIDADE_BARALHOS);

		List<Jogador> listaJogadores = new ArrayList<Jogador>();
		
	 	listaJogadores.add(new AgenteAleatorio("AgenteAleatorio", SALDO_INICIAL, QUANTIDADE_OPCOES));
		listaJogadores.add(new AgenteMartingale("AgenteMartingale", SALDO_INICIAL));
		listaJogadores.add(new AgenteHiLo("AgenteHiLo", SALDO_INICIAL, QUANTIDADE_BARALHOS));
		
		listaJogadores.add(new JogadorHumano("Lulu", SALDO_INICIAL) );
		
		Controlador controlador = Controlador.getInstance(listaJogadores, dealer);
		Thread threadControle = new Thread(controlador);
		
		threadControle.run();
		//controle.start();
	}
}
